#ifndef SH_BASE_NONCOPYABLE_HPP
#define SH_BASE_NONCOPYABLE_HPP

namespace sh
{

struct noncopyable
{
    noncopyable(const noncopyable&) = delete;
    void operator=(const noncopyable&) = delete;
protected:
    noncopyable() = default;
    ~noncopyable() = default;
};

}  // namespace sh

#endif  // SH_BASE_NONCOPYABLE_HPP
